Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Karlsruhe Challenger Porto Challenger Cordenons Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Bergamo Challenger M15 Valencia Oeiras 1 Challenger Pau Challenger M15 Azay-le-Rideau M15 Bressuire Koblenz Challenger Cherbourg Challenger Lille Challenger Hamburg Challenger Barcelona Challenger M25 Mataro M25 Vic M25 Villeneuve-Loubet M25+H Ajaccio Porto Challenger Pozoblanco Challenger M25 Porto M25+H Bagneres-de-Bigorre Rennes Challenger Mouilleron-Le-Captif Challenger Roanne Challenger M25 Monastir M25 Monastir M15 Monastir St. Tropez Challenger M15 Monastir M25 Monastir M25 Esch/Alzette M15 Monastir Cherbourg Challenger M15 Monastir M15 Bressuire M15 Monastir M25 Toulouse-Balma Troyes Challenger Porto 2 Challenger Oeiras 5 Challenger M15 Lons-le-Saunier Royan Challenger Nottingham 3 Challenger Pozoblanco Challenger Segovia Challenger Cassis Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Orleans Challenger Guatemala F1 Costa Rica F1 Mexico F1 Brazil F1 Poland F8 Brazil F10 Brazil F11 Italy F3 Italy F4 Italy F5 Italy F6 Italy F7 Italy F8 Italy F9 Italy F10 Brazil F1 Brazil F2 Brazil F3 Brazil F4 Brazil F5 France F12 France F12 France F2 France F3 Brazil F1 Brazil F2 Brazil F3 Brazil F7 Brazil F8 Germany F12 France F13 France F15 France F17 France F20 Brazil F27 Brazil F28 France F1 France F2 France F4 France F8 France F9 France F10 France F12 Belgium F2 Belgium F3 France F13 France F15 France F18 France F19 France F20 France F1 France F2 France F4 France F5 Spain F11 France F7 Spain F14 France F8 France F10 Brazil F13 Brazil F12 France F11 France F12 Brazil F16 Spain F29 Belgium F2 Brazil F21 France F13 France F14 France F15 Spain F27 France F17 France F18 France F19 France F20 Rodez Brazil F1 Great Britain F1 Great Britain F2 France F1 France F2 France F4 France F5 France F6 France F10 France F4 France F5 France F4 Brazil F1 Chile F1 Chile F3 Colombia F4 Colombia F1 Brazil F4 Colombia F2 Brazil F5 Italy F11 Italy F12 Brazil F3 Brazil F4 Brazil F5 Brazil F6 Spain F16 Brazil F7 Brazil F8 Spain F17 Brazil F9 Spain F18 France F19 Brazil F14 Poland F7 El Salvador F1 Mexico F2 Brazil F2 Colombia F3 Brazil F10 M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25+H Rodez M25 Toulouse M15 Manacor M25 Vale do Lobo M25 Toulouse-Balma M25 Montauban M25 Porto M15 Creteil M15 Poitiers M25 Reus M25 Angers M25 Vic M15 Gijon Rome Challenger M25 Roehampton M15 Poitiers M15 Monastir M25 Benicarlo M25 Mataro M25 Carnac M15 Madrid M15+H Bagnoles de l'Orne M25 Villeneuve-Loubet M15 Poitiers M25 Toulouse-Balma M25 Hazebrouck BCP Tennis Classic - Sao Paulo Copa Ericsson Brazil - Sao Paulo Visa Tennis Open - Sao Paulo 12th BH Tennis Open International Cup - Belo Horizonte Sao Paulo - Brazil Aberto de Sao Paulo - Sao Paulo Nossa Caixa Tennis Cup - Sao Paulo Cyclus Open de Tenis - Florianopolis 10° Trofeo Luigi Pezzoli - Bergamo Seguros Bogota Open - Bogota Credicard Mastercard Tennis Cup - Campos do Jordao BH Tennis Open International Cup - Belo Horizonte Joinville Tennis Festival - Joinville II Manta Open - Manta Amazonia Open de Tenis - Belem IX Gramado Open - Gramado XII Trofeo Ciudad de Quito 'Diario El Comercio' - Quito Copa Petrobras Colombia - Bogota Copa Petrobras Uruguray - Montevideo Copa Petrobras Brazil - Aracaju Copa Petrobras Paraguay - Asuncion Aberto de Sao Paulo - Sao Paulo La Serena Open - La Serena Copa Kia Challenger ATP - Santiago II Cyclus Open de Tenis - Florianopolis XII Abierto Internacional de Salinas - Salinas Bancolombia Open - Bogota Aberto de Santa Catarina de Tenis - Florianopolis Prosperita Open 2007 - Ostrava Croatia Osiguranje Rijeka Open - Rijeka Unique Zagreb Open - Zagreb Baden Open - Karlsruhe Memorial Manfredini - Sassuolo Polska Energia Open - Bytom Seguros Bolivar Open - Medellin Riviera di Rimini Challenger - Rimini Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao Ljubljana Open - Ljubljana Pekao Open - Szczecin Ipsos Bucharest Challenger - Bucharest Aberto de Sao Paulo - Sao Paulo ITG Miami Challenger - Miami Hilton Waikoloa Village USTA Challenger - Waikoloa Challenger DCNS de Cherbourg - Cherbourg Challenger de Providencia-Copa Kia - Santiago Bancolombia Open - Bogota III Aberto Santa Catarina de Tenis - Florianopolis Karshi Challenger - Karshi Dusseldorf Open Challenger - Dusseldorf Open D'Orleans - Orleans Challenger Copa Sevilla 2008 - Seville Cyclus Open de Tenis - Florianopolis Abierto Internacional de Salinas 'Dario Expreso' - Salinas Sao Paulo Challenger Rennes Challenger Salinas Challenger Iquique Challenger Bucaramanga Challenger Cherbourg Challenger Santiago Challenger Monza Challenger Rome Challenger Tunis Challenger Bukhara Challenger - Bukhara Southern Capital Cup - Almaty Constanta Challenger Copa Petrobras-Brazil - Aracaju Oberstaufen Challenger Recanati Challenger Belo Horizonte Challenger Brasilia Challenger Todi Challenger Palermo Challenger Florionapolis Challenger Rennes Challenger Guayaquil Challenger Sao Paulo Challenger Lima Challenger Sao Paulo Challenger Salinas Challenger Cherbourg Challeger Blumenau Challenger Caltanissetta Challenger Barletta Challenger St. Brieuc Challenger Cherbourg Challenger Blunmenau Challenger Curitiba Challenger Cairo Challenger Bordeaux Challenger Biella Challenger Cremona Challenger Seville Challenger Bogota Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Napoli Challenger Bogota Challenger Cali Challenger Quito Challenger Asuncion Challenger Sao Paulo Challenger Medellin Challenger Alessandria Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Quimper Challenger Cherbourg Challenger Salinas Challenger Santiago Challenger San Jose Challenger Barranquilla Challenger St. Brieuc Challenger Pereira Challenger Monza Challenger Prague Challenger Bordeaux Challenger Alessandria Challenger Prostejov Challenger Nottingham Challenger Pozoblanco Challenger Bogota Challenger Manta Challenger Recanati Challenger Segovia Challenger Campos do Jordao Challenger Binghamton Challenger St. Remy Challenger Istanbul Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Mons Challenger Rennes Challenger Orleans Challenger Sao Jose Do Rio Preto Challenger Medellin Challenger Buenos Aires Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Helsinki Challenger Sao Paulo Challenger Noumea Challenger Quimper Challenger Cherbourg Challenger Florianopolis Challenger Santiago Challenger Bath Challenger Le Gosier Challenger Tallahassee Challenger St. Brieuc Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Tunis Challenger Bordeaux Challenger Caltanissetta Challenger Nottingham Challenger Monza Challenger Panama City Challenger Scheveningen Challenger Recanati Challenger San Marino Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Petange Challenger Campinas Challenger Orleans Challenger Mons Challenger Belem Challenger San Juan Challenger Villa Allende Challenger Seoul Challenger Buenos Aires Challenger Geneva Challenger Montevideo Challenger Bratislava Challenger Sao Leopoldo Challenger Sao Paulo Challenger Heilbronn Challenger Bucaramanga Challenger Quimper Challenger Cherbourg Challenger Salinas Challenger Pereira Challenger Santiago Challenger St. Brieuc Challenger Pozoblanco Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Nottingham Challenger Braunschweig Challenger St. Remy Challenger Petange Challenger Orleans Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bratislava Challenger Heilbronn Challenger Panama City Challenger Guadalajara Challenger Barranquilla Challenger Le Gosier Challenger Sao Paulo Challenger Santos Challenger Bordeaux Challenger Mons Challenger Vicenza Challenger Nottingham Challenger Mestre Challenger Blois Challenger Poznan Challenger Cortina Challenger San Marino Challenger Cordenons Challenger St. Remy Challenger Orleans Challenger Mons Challenger Tunis Challenger Mouilleron-Le-Captif Challenger Cherbourg Challenger Quimper Challenger Santiago Challenger Le Gosier Challenger San Luis Potosi Challenger Tampere Challenger Sarasota Challenger Santos Challenger Sao Paulo Challenger Prague Challenger Blois Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Poznan Challenger Rennes Challenger Prague Challenger Cordenons Challenger Manerbio Challenger Barranquilla Challenger Noumea Challenger Campinas Challenger Orleans Challenger Mons Challenger Sao Paulo Challenger Lima Challenger Buenos Aires Challenger Cherbourg Challenger Irving Challenger Cali Challenger Bordeaux Challenger Furth Challenger Turin Challenger Aix En Provence Challenger Rome Challenger Bordeaux Challenger Prostejov Challenger Prague Challenger Perugia Challenger Como Challenger Genova Challenger Manerbio Challenger Genova Challenger Barranquilla Challenger Santos Challenger Orleans Challenger Rennes Challenger Porto Alegre Challenger Campinas Challenger Santiago Challenger Budapest Challenger Corrientes Challenger Lima Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Santiago Challenger Buenos Aires Challenger Guayaquil Challenger Surbiton Challenger Nottingham Challenger Buenos Aires Challenger Recanati Challenger Braunschweig Challenger Mendoza Challenger Rio De Janeiro Challenger Bucaramanga Challenger Porto Challenger Quimper Challenger Santiago Challenger Genova Challenger Szczecin Challenger Napoli Challenger Orleans Challenger Barletta Challenger Mouilleron-Le-Captif Challenger Oeiras 1 Challenger Santiago Challenger Rio De Janeiro Challenger Noumea Challenger Lyon Challenger Blois Challenger L'Aquila Challenger Milan Challenger Milan Challenger Braunschweig Challenger Perugia Challenger Segovia Challenger Brest Challenger Prague Challenger Como Challenger Szczecin Challenger Orleans Challenger Medellin Challenger Mons Challenger Florence Challenger Campinas Challenger Buenos Aires Challenger Santo Domingo Challenger Barcelona Challenger Eckental Challenger Lima Challenger Montevideo Challenger Noumea Challenger Eckental Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Wroclaw Challenger Mouilleron-Le-Captif Challenger Santiago Challenger St. Brieuc Challenger Sophia Antipolis Challenger Panama City Challenger Koblenz Challenger Aix En Provence Challenger Bordeaux Challenger Santiago Challenger St. Brieuc Challenger Sophia Antipolis Challenger Perugia Challenger Bordeaux Challenger Aix En Provence Challenger Heilbronn Challenger Lisbon Challenger Como Challenger Vicenza Challenger Prostejov Challenger Blois Challenger Ludwigshafen Challenger Ortisei Challenger Recanati Challenger Perugia Challenger San Benedetto Challenger Amersfoort Challenger Eckental Challenger Porto 2 Challenger Montevideo Challenger Prague Challenger Segovia Challenger Liberec Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Santiago Challenger Lille Challenger Portoroz Challenger St. Brieuc Challenger Alicante Challenger Panama City Challenger Aix En Provence Challenger Rome Challenger Bordeaux Challenger Poznan Challenger Genova Challenger Marburg Challenger Braunschweig Challenger Como Challenger Mallorca Challenger Genova Challenger Seville Challenger Cherbourg Challenger Noumea Challenger U.S. Open - New York Playford Challenger Campos do Jordao Challenger Cherbourg Challenger Punta Del Este Challenger Lille Challenger Mouilleron-Le-Captif Challenger Brest Challenger Roanne Challenger Pau Challenger Bari Challenger Banja Luka Challenger Cherbourg Challenger Turin Challenger Rome 1 Challenger Prague 2 Challenger Bordeaux Challenger Vicenza Challenger Forli 6 Challenger Lyon Challenger Troyes Challenger Pozoblanco Challenger Segovia Challenger Prague 3 Challenger Como Challenger Cassis Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Bergamo Challenger Roanne Challenger Maia Challenger Oeiras 2 Challenger Ottignies-Louvain-la-Neuve Challenger Koblenz Challenger Cherbourg Challenger Lugano Challenger Szekesfehervar Challenger Lille Challenger Oeiras 3 Challenger Rome Challenger Aix En Provence Challenger Troisdorf Challenger Perugia Challenger Blois Challenger Valencia Challenger Pau Challenger Madrid Challenger Mallorca Challenger St. Brieuc Challenger Girona Challenger Brasil Open - Costa do Sauipe Generali Open - Kitzbuhel Brasil Open - Costa do Sauipe Movistar Open - Santiago Brasil Open - Costa do Sauipe Movistar Open - Santiago Brasil Open - Costa do Sauipe BMW Open - Munich AEGON Championships - London Open de Moselle - Metz Open Sud de France - Montpellier VTR Open - Vina del Mar Brasil Open - Sao Paulo Open 13 - Marseille Copa Claro - Buenos Aires Open de Nice Cote d'Azur - Nice AEGON Championships - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice AEGON Championships - London Topshelf Open - 's-Hertogenbosch AEGON International - Eastbourne Hall of Fame Tennis Championships - Newport Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Apia International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice AEGON Championships - London Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Swiss Indoors Basel - Basel Heineken Open - Auckland Open Sud de France - Montpellier Brasil Open - Sao Paulo Open 13 - Marseille Argentina Open - Buenos Aires US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Moselle Open - Metz Erste Bank Open - Vienna Valencia Open - Valencia Millennium Estoril Open - Estoril Open Sud de France - Montpellier Ecuador Open - Quito Rio Open - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz European Open - Antwerp Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva AEGON Championships - London Antalya Cup - Antalya Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen China Open - Beijing European Open - Antwerp Kremlin Cup - Moscow Swiss Indoors Basel - Basel Erste Bank Open - Vienna ASB Classic - Auckland Open Sud de France - Montpellier Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Moselle Open - Metz European Open - Antwerp Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open Parc - Lyon Nature Valley International - Eastbourne Maia Challenger Western & Southern Financial Group Masters - Cincinnati BNP Paribas Masters - Paris Sony Ericsson Open - Miami Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Miami Open - Miami Rogers Cup - Montreal Miami Open - Miami U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, Group I, 2R, URU-BRA 0-5 Davis Cup, World Group, PO, BRA-RUS 5-0 Davis Cup, World Group, PO, GER-BRA 4-1 Davis Cup, Group I, 2R, ECU-BRA 1-3 Davis Cup, World Group, PO, BRA-ESP 3-1 Hopman Cup - Perth Davis Cup, Group I, 2R, BRA-ECU 3-1 Davis Cup, World Group, QR, BRA-BEL 1-3 All Lower level tournaments Olympics - Rio de Janeiro